package com.xin.entity;

import java.io.Serializable;

import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;

import com.baomidou.mybatisplus.enums.FieldStrategy;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * <p>
 * 学生信息
 * </p>
 *
 * @author l1
 * @since 2017-11-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("u_student_info")
public class UStudentInfo extends Model<UStudentInfo> {

    private static final long serialVersionUID = 1L;

    @NotEmpty
	private String id;
    /**
     *  状态:在校/毕业
     */
    @TableField(strategy=FieldStrategy.NOT_EMPTY)
	private String status;
    /**
     * 学历: 本科生/研究生
     */
	@TableField(strategy=FieldStrategy.NOT_EMPTY)
	private String education;
    /**
     * 学科归属: 如计算机学院/通信学院
     */
	@TableField(value = "subject_attribution",strategy=FieldStrategy.NOT_EMPTY)
	private String subjectAttribution;
    /**
     * 专业归属: 如计算机科学与技术专业
     */
	@TableField("prefessional_attribution")
	private String prefessionalAttribution;
    /**
     * 姓名
     */
	@TableField(strategy=FieldStrategy.NOT_EMPTY)
	private String name;
    /**
     * 姓名拼音
     */
	@TableField(strategy=FieldStrategy.NOT_EMPTY)
	private String pinyin;
    /**
     * 曾用名
     */
	@TableField("used_name")
	private String usedName;
    /**
     * 性别
     */
	@TableField(strategy=FieldStrategy.NOT_EMPTY)
	private String sex;
    /**
     * 身份证号
     */
	@TableField("id_card")
	private String idCard;
    /**
     * 出生日期
     */
	private Date birthday;
    /**
     * 籍贯
     */
	@TableField("native_place")
	private String nativePlace;
    /**
     * 出生地
     */
	@TableField("birth_place")
	private String birthPlace;
    /**
     * 民族
     */
	private String nation;
    /**
     * 入学时间
     */
	@TableField("admission_time")
	private Date admissionTime;
    /**
     * 校区
     */
	private String campus;
    /**
     * 联系手机
     */
	@TableField("mobile_phone")
	private String mobilePhone;
    /**
     * 办公电话
     */
	@TableField("work_phone")
	private String workPhone;
    /**
     * 政治面貌: 中共党员/民盟盟员/预备党员/群众 
     */
	@TableField("political_status")
	private String politicalStatus;
    /**
     * 招生批次: 本科第一批次/本科第二批次/本科第三批次/专科
     */
	@TableField("enrollment_batch")
	private String enrollmentBatch;
    /**
     * 年级
     */
	private String grade;
    /**
     * 班级
     */
	private String classes;
    /**
     * 班主任
     */
	@TableField("head_teacher")
	private String headTeacher;
    /**
     * 家庭电话
     */
	@TableField("home_phone")
	private String homePhone;
    /**
     * 电子信箱
     */
	private String email;
    /**
     * 宿舍号
     */
	@TableField("dorm_number")
	private String dormNumber;
    /**
     * 特长
     */
	private String specialty;
    /**
     * 家庭地址
     */
	@TableField("family_address")
	private String familyAddress;
    /**
     * 通信地址
     */
	@TableField("contact_address")
	private String contactAddress;
    /**
     * 邮政编码
     */
	@TableField("postal_code")
	private String postalCode;
    /**
     * 备注
     */
	private String mark;


	/**
	 * 头像
	 */
	@TableField("img_url")
	private String imgUrl;

	/**
	 * 学制
	 */
	@TableField("academic_system")
	private String academicSystem;

	/**
	 * 学制
	 */
	private String source;

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

}
